1) Field of the Invention
The present invention relates to a disk storage apparatus that includes an upper unit that manages data to be stored in storage disks, and a lower unit that controls the operation of the storage disks to perform a servo lock of its own. More particularly, this invention relates to a disk storage apparatus capable of performing a servo lock of an upper unit at high rate.
2) Description of the Related Art
Conventionally, a disk storage apparatus has been employed as a storage medium that stores data. This disk storage apparatus allocates storage regions in which the data is stored, on a storage disk, and rotates the storage disk, thereby adjusting a positional relationship between a head section that accesses the storage regions and the storage disk, and reading and writing the data from and to a desired storage region.
In order to position the head section and the storage disk, positioning data is recorded on the storage disk. This data used to position the storage disk and the head section will be referred to as “servo information” hereinafter. The disk storage apparatus reads this servo information and thereby grasps the positional relationship between the storage disk and the head section. Such an operation for reading the servo information and grasping the positional relationship between the storage disk and the head section is referred to as “servo lock”.
In addition, the disk storage apparatus includes an upper unit that transmits and receives commands and manages the data stored in the storage disk, and a lower unit that conducts physical operation control over the storage disk and the head section. Since the upper unit and the lower unit operate independently of each other, it is necessary that the upper unit and the lower unit individually perform servo lock operations.
As the storage disk used in the disk storage apparatus, a magnetic disk that magnetically reads and writes data, or an optical disk that reads and writes data using a laser beam is employed. Since a disk storage apparatus that employs the magnetic disk can easily write and read data at high rate, this disk storage apparatus is particularly effective in storage of data written with high frequency.
Further, following the recent improvement in the processing capability of information terminals, it is possible to process a large capacity of data at high rate. To this end, it is desired to increase the storage capacity of a disk storage apparatus and to enable the disk storage apparatus to process data at high rate. To realize a mass storage disk storage apparatus, a plurality of storage disks is provided in a single disk storage apparatus. The disk storage apparatus having a plurality of storage disks collectively rotates the storage disks in the same direction, and includes heads that access the respective storage disks in the head section.
A conventional disk storage apparatus will next be explained with reference to FIGS. 7 to 9. FIG. 7 shows a schematic block diagram of the schematic configuration of the conventional disk storage apparatus. In FIG. 7, a disk storage apparatus 102 is connected to a host 101. The disk storage apparatus 102 includes therein an interface section 103, a micro processing unit (MPU) 104, a disk controller 108, and a disk section 111. The MPU 104 is connected to a buffer 105, a flash read only memory (flash ROM) 106, and a random access memory (RAM) 107. The disk controller 108 is connected to a flash ROM 109, and a RAM 110.
The interface section 103 transmits a request from the host 101 to the MPU 104. The MPU 104 functions as an upper unit that transmits and receives commands and manages the data stored in a storage disk. Specifically, the MPU 104 transmits a read command as a data read request and a write command as a data write request to the disk controller 108 in accordance with the request from the host 101. The buffer 105 functions as a storage region that temporarily stores the command until the MPU 104 transmits the command to the disk controller 108. In addition, the MPU 104 performs file management so as to manage each relationship between storage regions and data written in corresponding storage regions on the storage disks. For this file management, the RAM 107 is used as the storage region. The flash ROM 106 stores a program that is executed by the MPU 104. By reading the program stored in the flash ROM 106 when the disk storage apparatus is activated, it is possible to execute the program required for the operation of the MPU 104.
The disk controller 108 functions as a lower unit that controls the operation of the disk section 111 including a plurality of storage disks and a head section, and that executes the read command and the write command received from the MPU 104. The disk controller 108 uses the RAM 110 as a storage region for the operation thereof. The flash ROM 109 stores a program that is executed by the disk controller 108. By reading the program stored in the flash ROM 109 when the disk storage apparatus 102 is activated, it is possible to execute the program required for operation of the disk controller 108.
The servo lock performed by the conventional disk storage apparatus 102 will next be explained. The disk storage apparatus 102 needs to read servo information stored in the storage disks and to perform servo lock in order to access a desired storage region on the storage disks. The disk storage apparatus 102 includes the MPU 104 that functions as the upper unit and the disk controller 108 that functions as the lower unit. Since the MPU 104 and the disk controller 108 operate independently of each other, it is necessary that the disk controller 108 and the MPU 104 individually perform servo lock operations.
Therefore, the disk controller 108 includes therein a servo information detector 108a. This servo information detector 108a detects servo information from the storage disks, and reads content of the servo information. The disk controller 108 stores the content as a value of a servo counter 110a in the RAM 110, thereby executing a servo lock operation. Further, the disk controller 108 transmits the value of the servo counter 110a to the MPU 104. The MPU 104 stores the value of the servo counter 110a received from the disk controller 108 as a value of a servo counter 107a, thereby executing a servo lock operation.
The disk controller 108 has the RAM 110 that includes disk management data 110b, and checks a servo lock result using this disk management data 110b. The disk management data 110b indicates a positional relationship between a plurality of storage disks where pieces of servo information are stored, respectively. Since the storage disks are collectively rotated in the same direction, the positional relationship of the pieces of servo information among the storage disks is determined at the time of manufacturing the disk storage apparatus 102 and is not changed thereafter. By storing the positional relationship of the servo information as the disk management data 110b, the disk controller 108 can calculate and predict servo information to be read next by the servo information detector 108a if a target storage disk to be accessed is changed. The disk controller 108 compares the servo information read by the servo information detector 108a with the servo information calculated from the disk management data 110b. If the two pieces of servo information coincide with each other, the disk controller 108 determines that the servo lock operation has been normally executed. If the two pieces of servo information do not coincide, the disk controller 108 outputs a servo lock error indicating that the servo lock operation has not been normally completed.
The servo lock processing operation of the disk storage apparatus 102 will next be explained with reference to FIG. 8. FIG. 8 shows a flow chart of the servo lock processing operation of the disk storage apparatus 102. In FIG. 8, if the request received from the host 101 requires the change of the storage disk, the MPU 104, serving as an upper unit, determines that it is necessary to change the storage disk (at step S301). The MPU 104 then transmits a request for servo lock (“servo lock request”) as well as a request for the change of the storage disk, to the disk controller 108 serving as a lower unit (at step S302).
The disk controller 108 receives the servo lock request from the MPU 104 (at step S311), and detects servo information (at step S312). Further, the disk controller 108 stores the content of the detected servo information as a value of a servo counter, and completes a servo lock operation (at step S313). The disk controller 103 then transmits the value of the servo counter to the MPU 104 (at step S314), thereby finishing the processing.
The MPU 104 receives the value of the servo counter from the disk controller 108 (at step S303), completes a servo lock operation based on the received value of the servo counter (at step S304), and finishes the processing.
Specifically, the servo lock processing of the disk storage apparatus 102 is performed as shown in FIGS. 9A to 9C. FIGS. 9A to 9C show explanatory views of the operation of the disk section 111 and servo lock timings. FIG. 9A shows the servo information of the storage disks, and the access positions of the head section. FIG. 9B shows the change of the value of the servo counter 110a used by the disk controller 108. FIG. 9C shows the change of the value of the servo counter 107a used by the MPU 104.
In FIG. 9A, pieces of servo information 12a, 12b, 12c, and 12d are servo information on the same storage disk. The servo information 12a has a value “0”, the servo information 12b has a value “1”, the servo information 12c has a value “2”, and the servo information 12d has a value “3”. Likewise, pieces of servo information 13a, 13b, 13c, and 13d are servo information on the same storage disk. The servo information 13a has a value “0”, the servo information 13b has a value “1”, the servo information 13c has a value “2”, and the servo information 13d has a value “3”.
If the servo information detector 108a detects the servo information 12a and reads the value “0” thereof, then the disk controller 108 sets the servo counter 110a at “0” and the MPU 104 sets the servo counter 107a at “O”. If the servo information detector 108a detects the servo information 12b and reads the value “1” thereof, then the disk controller 108 sets the servo counter 110a at “1” and the MPU 104 sets the servo counter 107a at “1”.
If a request for the change of the storage disk is received from the host 101, the head section changes a target storage disk to be accessed and detects servo information from the changed storage disk. As a result, the servo information detector 108a detects the servo information 13d and reads the value “3” thereof. The disk controller 108 sets the value “3” detected by the servo information detector 108a to the servo counter 110a, and also transmits the value “3” to the MPU 104. The MPU 104 sets the servo counter 107a based on the value received from the disk controller 108. However, because of time lag, the MPU 104 completes the servo lock operation by the value “0” held by the next servo information 13a. 
As can be seen, in the conventional disk storage apparatus 102, the servo information provided on the storage disk is detected, the disk controller 108, serving as a lower unit, executes servo lock, and the MPU 104, serving as an upper unit, executes servo lock based on the servo lock result of the disk controller 108. By doing so, the disk controller 108 and the MPU 104 grasp each positional relationship between the storage disks and the heads, whereby data is read and written from and to a desired storage region.
However, the conventional disk storage apparatus has the following problem. Since the MPU 104 performs servo lock based on the servo lock result of the disk controller 108, it takes time for the MPU to complete the servo lock.
Therefore, the conventional disk storage apparatus cannot satisfy the demand for accelerating processing. In addition, to realize a mass storage disk storage apparatus, the number of storage disks tends to increase. As a result, the frequency of movement of one storage disk to the other increases, and therefore the problem that it takes time to complete servo lock is getting more significant.
Furthermore, the servo lock result of the disk controller 108 is used as the servo lock result of the MPU 104 as it is. Therefore, if the disk controller 108 erroneously completes its servo lock operation, the MPU 104 disadvantageously completes its servo lock operation based on the erroneous servo lock data.